#ifndef HUNSTRING_H
#define HUNSTRING_H

#include "hunBase.h"

//typedef struct hunString
//{
//    hunChar *str;
//} hunString;
typedef char * hunString;

hunInt          hunString_Size(const hunString s);
hunInt          hunString_Begin(const hunString s);
hunInt          hunString_End(const hunString s);
hunInt          hunString_Length(const hunString s);
hunInt          hunString_Compare(const hunString a, const hunString b);
hunInt          hunString_Find(const hunString s, const hunString a);
hunInt          hunString_ToInt(const hunString s);
hunFloat        hunString_ToFloat(const hunString s);
hunDouble       hunString_ToDouble(const hunString s);


hunString       hunString_ToString(const hunInt i, hunString s);
hunString       hunString_Reset(hunString s);
hunString       hunString_Append(hunString s, hunString a);
hunString       hunString_Pushback(hunString s, hunString a);
hunString       hunString_Reverse(hunString s);
hunString       hunString_Clear(hunString s);

hunBool         hunString_Empty(const hunString s);
hunBool         hunString_Copy(hunString src, hunString dsc);

// O(n)
hunChar         hunString_At(hunString s, hunInt idx);

void            hunString_Replace(hunString s, hunString a, hunString b); // replace a to b


//hunString hunString_Set(const char s);
#endif
